Java API使用避坑合集
# Java API使用避坑合集
# 总结常见的容易踩坑点记录下来以供参考
相当于避坑大杂烩、会涉及各种坑,持续更新...
# 1、数组转集合 Arrays.asList() 方法
Arrays.asList() 方法 返回的集合不支持修改操作,否则会抛异常
java.lang.UnsupportedOperationException
# 2、BigDecimal 数据的比较 请使用compareTo方法
- A.compareTo(B) 结果等于0 表示 A=B ,结果>0 表示 A>B, 结果小于0 表示A<B;
- 如果使用equals 那么会连同小数位数一块比较 0.0和0 使用equals比较 返回false ,因为0.0有一位小数 而0没有。
public static void main(String[] args) {
BigDecimal bigDecimal = new BigDecimal("0");
BigDecimal bigDecimal1 = new BigDecimal("0.0");
System.out.println(bigDecimal.equals(bigDecimal1)); // false
System.out.println(bigDecimal.compareTo(bigDecimal1)==0); // true
}
# 3、spring clould 注册指定网段的IP地址 到服务中心
添加以下配置 10.211.为需要指定的网段
spring.cloud.inetutils.preferred-networks=10.211.
# 4、在Mybatis的 <if> 标签中 判断 BigDecimal 类型或者 Date类型 字段
如果用了 !='' 不等于空串 判断 BigDecimal类型字段 , mybatis会自动把BigDecimal类型转为String,并且如果你的BigDecimal 字段值是0 就会被mybatis转为 null,巨坑无比;
如果用了 !='' 不等于空串 判断 Date会直接报错 。
<-- 错误示例 !-->
<if test="bigDecimalNum !=null and bigDecimalNum !=''">
</if>
<if test="startDate !=null and startDate !=''">
</if>
<-- 正确示例 !-->
<if test="bigDecimalNum !=null">
</if>
<if test="startDate !=null">
</if>